package com.yfq.springframework.beans.factory;

import com.yfq.springframework.beans.BeansException;
import com.yfq.springframework.beans.config.BeanDefinition;
import com.yfq.springframework.beans.config.BeanPostProcessor;

/**
 * @author 姚凤桥
 * @date 2023/1/28 21:13
 * @description
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {
    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    /**
     * 将单例bean全部实例化
     */
    void preInstantiateSingletons() throws BeansException;

    @Override
    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
